home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Mac Game Programming Gurus / TricksOfTheMacGameProgrammingGurus.iso / CodeWarrior Lite / Metrowerks C⁄C++ Lite / Headers / System Extras Headers / GX Headers / Messages.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-08-02  |  7.4 KB  |  233 lines  |  [TEXT/MMCC]

  1. /*
  2.     File:        Messages.h
  3.  
  4.     Copyright:    © 1984-1994 by Apple Computer, Inc., all rights reserved.
  5.  
  6.     WARNING
  7.     This file was auto generated by the interfacer tool. Modifications
  8.     must be made to the master file.
  9.  
  10. */
  11.  
  12. #ifndef __MESSAGEMANAGER__
  13. #define __MESSAGEMANAGER__
  14.  
  15. #ifndef __TYPES__
  16. #include <Types.h>
  17. /*    #include <ConditionalMacros.h>                                */
  18. /*    #include <MixedMode.h>                                        */
  19. /*        #include <Traps.h>                                        */
  20. #endif
  21.  
  22. enum  {
  23.     gestaltMessageMgrVersion    = 'mess'
  24. };
  25.  
  26. enum  {
  27.     messageStopLoopingErr        = -5775,
  28.     cantDeleteRunningHandlerErr    = -5776,
  29.     noMessageTableErr            = -5777,
  30.     dupSignatureErr                = -5778,
  31.     messageNotReceivedErr        = -5799
  32. };
  33.  
  34. enum  {
  35.     messageClassNoOptions        = 0x00000000,
  36.     messageClassIgnoreResult    = 0x80000000
  37. };
  38.  
  39. enum  {
  40.     topMessageHandler            = 0
  41. };
  42.  
  43. #define messageManagerTrap 0xABFB
  44.  
  45. #define sendObjectMessageSelector 0x702F
  46.  
  47. #define sendObjectMessageToSelector 0x7030
  48.  
  49. #define startObjectMessageAtSelector 0x7031
  50.  
  51. #define sendMessageSelector 0x7032
  52.  
  53. #define sendMessageToSelector 0x7033
  54.  
  55. #define startMessageAtSelector 0x7034
  56.  
  57. #define forwardSelector 0x7035
  58.  
  59. #define forwardThisSelector 0x7036
  60.  
  61. #define SendObjectMessageGlue(table, selector) {     \
  62.     sendObjectMessageSelector, 0x223C, table, selector, messageManagerTrap     \
  63.     }
  64.  
  65. #define SendMessageGlue(table, selector) {     \
  66.     sendMessageSelector, 0x223C, table, selector, messageManagerTrap     \
  67.     }
  68.  
  69. #define ForwardMessageGlue(table, selector) {     \
  70.     forwardSelector, 0x223C, table, selector, messageManagerTrap     \
  71.     }
  72.  
  73. #define ForwardThisMessageGlue { forwardThisSelector, messageManagerTrap }
  74.  
  75. typedef struct PrivateMessageClassRecord *MessageClass;
  76.  
  77. typedef struct PrivateMessageHandlerRecord *MessageHandler;
  78.  
  79. typedef struct PrivateMessageObjectRecord *MessageObject;
  80.  
  81. #if defined(powerc) || defined (__powerc)
  82. #pragma options align=mac68k
  83. #endif
  84. struct MessageOverride {
  85.     short                        messageID;
  86.     long                        dispatch1;
  87.     long                        dispatch2;
  88. };
  89. #if defined(powerc) || defined(__powerc)
  90. #pragma options align=reset
  91. #endif
  92.  
  93. typedef struct MessageOverride MessageOverride;
  94.  
  95. #if defined(powerc) || defined (__powerc)
  96. #pragma options align=mac68k
  97. #endif
  98. struct MessageOverrideTable {
  99.     short                        numOverrides;
  100.     MessageOverride                overrides[1];
  101. };
  102. #if defined(powerc) || defined(__powerc)
  103. #pragma options align=reset
  104. #endif
  105.  
  106. typedef struct MessageOverrideTable MessageOverrideTable, *MessageOverrideTablePtr;
  107.  
  108. typedef OSType Signature;
  109.  
  110. typedef void *MessageStackMark[2];
  111.  
  112. #ifdef __cplusplus
  113. extern "C" {
  114. #endif
  115.  
  116. typedef void (*MessageHandlerSetupProc)(void *handlerData);
  117.  
  118. typedef OSErr (*MessageClassExceptionProc)(MessageObject, OSErr);
  119.  
  120. typedef OSErr (*MessageObjectLoopProc)(MessageObject, void *refCon);
  121.  
  122. typedef OSErr (*MessageHandlerLoopProc)(MessageHandler, void *refCon);
  123.  
  124. typedef void (*MessageGlobalsInitProc)(void *messageGlobals);
  125.  
  126. extern MessageClass NewMessageClass(long numTables, long classOptions)
  127.  TWOWORDINLINE(0x7000, 0xABFB);
  128. extern void DisposeMessageClass(MessageClass)
  129.  TWOWORDINLINE(0x7001, 0xABFB);
  130. extern MessageClass CloneMessageClass(MessageClass)
  131.  TWOWORDINLINE(0x7002, 0xABFB);
  132. extern long CountMessageClassOwners(MessageClass)
  133.  TWOWORDINLINE(0x7003, 0xABFB);
  134. extern MessageClass NewDerivedMessageClass(MessageClass parentClass)
  135.  TWOWORDINLINE(0x7004, 0xABFB);
  136. extern void *SetMessageClassDispatchProc(MessageClass, void *dispatchProc)
  137.  TWOWORDINLINE(0x7005, 0xABFB);
  138. extern MessageHandlerSetupProc SetMessageClassHandlerSetupProc(MessageClass, MessageHandlerSetupProc)
  139.  TWOWORDINLINE(0x7006, 0xABFB);
  140. extern MessageHandlerSetupProc SetMessageClassHandlerReturnProc(MessageClass, MessageHandlerSetupProc)
  141.  TWOWORDINLINE(0x7007, 0xABFB);
  142. extern MessageClassExceptionProc SetMessageClassExceptionProc(MessageClass, MessageClassExceptionProc)
  143.  TWOWORDINLINE(0x7008, 0xABFB);
  144. extern void *GetMessageClassRefCon(MessageClass)
  145.  TWOWORDINLINE(0x7009, 0xABFB);
  146. extern void *SetMessageClassRefCon(MessageClass, void *refCon)
  147.  TWOWORDINLINE(0x700A, 0xABFB);
  148. extern OSErr NewMessageHandler(MessageClass, long handlerPos, MessageOverrideTablePtr overrideTableList[], void *handlerData, Signature handlerSig, MessageHandler *msgHandler)
  149.  TWOWORDINLINE(0x700B, 0xABFB);
  150. extern OSErr RemoveMessageHandler(MessageClass, MessageHandler)
  151.  TWOWORDINLINE(0x700C, 0xABFB);
  152. extern OSErr InstallMessageHandlerOverride(MessageClass, MessageHandler, long messageSelector, long dispatch1, long dispatch2)
  153.  TWOWORDINLINE(0x700D, 0xABFB);
  154. extern void RemoveMessageHandlerOverride(MessageClass, MessageHandler, long messageSelector)
  155.  TWOWORDINLINE(0x700E, 0xABFB);
  156. extern void *GetMessageHandlerData(MessageClass, MessageHandler)
  157.  TWOWORDINLINE(0x700F, 0xABFB);
  158. extern void *SetMessageHandlerData(MessageClass, MessageHandler, void *handlerData)
  159.  TWOWORDINLINE(0x7010, 0xABFB);
  160. extern void DisableMessageHandler(MessageClass, MessageHandler)
  161.  TWOWORDINLINE(0x7011, 0xABFB);
  162. extern void EnableMessageHandler(MessageClass, MessageHandler)
  163.  TWOWORDINLINE(0x7012, 0xABFB);
  164. extern int MessageHandlerDisabled(MessageClass, MessageHandler)
  165.  TWOWORDINLINE(0x7013, 0xABFB);
  166. extern long CountMessageHandlers(MessageClass)
  167.  TWOWORDINLINE(0x7014, 0xABFB);
  168. extern MessageHandler GetMessageHandlerAt(MessageClass, long handlerPosition)
  169.  TWOWORDINLINE(0x7015, 0xABFB);
  170. extern Signature GetMessageHandlerSignature(MessageClass, MessageHandler)
  171.  TWOWORDINLINE(0x7016, 0xABFB);
  172. extern MessageHandler FindMessageHandler(MessageClass, Signature)
  173.  TWOWORDINLINE(0x7017, 0xABFB);
  174. extern long GetMessageHandlerPosition(MessageClass, MessageHandler)
  175.  TWOWORDINLINE(0x7018, 0xABFB);
  176. extern OSErr ForEachMessageHandlerDo(MessageClass, MessageHandlerLoopProc, void *refCon)
  177.  TWOWORDINLINE(0x7019, 0xABFB);
  178. extern MessageObject NewMessageObject(MessageClass)
  179.  TWOWORDINLINE(0x701A, 0xABFB);
  180. extern void DisposeMessageObject(MessageObject)
  181.  TWOWORDINLINE(0x701B, 0xABFB);
  182. extern MessageObject CloneMessageObject(MessageObject)
  183.  TWOWORDINLINE(0x701C, 0xABFB);
  184. extern long CountMessageObjectOwners(MessageObject)
  185.  TWOWORDINLINE(0x701D, 0xABFB);
  186. extern void *GetMessageObjectRefCon(MessageObject)
  187.  TWOWORDINLINE(0x701E, 0xABFB);
  188. extern void *SetMessageObjectRefCon(MessageObject, void *)
  189.  TWOWORDINLINE(0x701F, 0xABFB);
  190. extern MessageClass GetMessageObjectClass(MessageObject)
  191.  TWOWORDINLINE(0x7020, 0xABFB);
  192. extern long CountMessageObjects(MessageClass)
  193.  TWOWORDINLINE(0x7021, 0xABFB);
  194. extern OSErr ForEachMessageObjectDo(MessageClass, MessageObjectLoopProc, void *refCon)
  195.  TWOWORDINLINE(0x7022, 0xABFB);
  196. extern MessageObject GetMessageTarget(void)
  197.  TWOWORDINLINE(0x7023, 0xABFB);
  198. extern MessageObject SetMessageTarget(MessageObject)
  199.  TWOWORDINLINE(0x7024, 0xABFB);
  200. extern void MarkMessageStack(MessageStackMark)
  201.  TWOWORDINLINE(0x7025, 0xABFB);
  202. extern void UnwindMessageStack(MessageStackMark)
  203.  TWOWORDINLINE(0x7026, 0xABFB);
  204. extern MessageHandler GetMessageHandler(void)
  205.  TWOWORDINLINE(0x7027, 0xABFB);
  206. extern long CountMessageHandlerInstances(void)
  207.  TWOWORDINLINE(0x7028, 0xABFB);
  208. extern void *GetMessageHandlerClassContext(void)
  209.  TWOWORDINLINE(0x7029, 0xABFB);
  210. extern void *SetMessageHandlerClassContext(void *)
  211.  TWOWORDINLINE(0x702A, 0xABFB);
  212. extern void *GetMessageHandlerInstanceContext(void)
  213.  TWOWORDINLINE(0x702B, 0xABFB);
  214. extern void *SetMessageHandlerInstanceContext(void *)
  215.  TWOWORDINLINE(0x702C, 0xABFB);
  216. extern OSErr NewMessageGlobals(long messageGlobalsSize, MessageGlobalsInitProc)
  217.  TWOWORDINLINE(0x702D, 0xABFB);
  218. extern void DisposeMessageGlobals(void)
  219.  TWOWORDINLINE(0x702E, 0xABFB);
  220. #ifndef __powerc
  221. #ifdef applec
  222. #else
  223. #endif
  224.  
  225. #endif
  226.  
  227. #ifdef __cplusplus
  228. }
  229. #endif
  230.  
  231. #endif
  232.  
  233.